package com.navinfo.platform.trip.common.arithmetic.var;


import com.navinfo.platform.trip.common.arithmetic.Gear;
import lombok.Data;

/**
 * 档位算法{@link Gear}的统计变量
 */
@Data
public class VarGear {
    /**
     * 前一点转速，单位：rpm（转每分钟）
     */
    private int preRotation;
    /**
     * 前一点gps时间，单位毫秒 （公共）
     */
    private long preGpsTime;
    /**
     * 前一点速度,单位km/h (公共)
     */
    private int preSpeedKmh;
    /**
     * 前一点纬度 ，单位：以度为单位乘以10的6次方(公共)
     */
    private int preLatitude;
    /**
     * 前一点经度 ，单位：以度为单位乘以10的6次方(公共)
     */
    private int preLongitude;
    /**
     * 前一点高程，海拔高度，单位为米（m）（有符号数）单位米 (公共)
     */
    private int preHeight;
    /**
     * 前一点方向
     */
    private int preGpsDirection;
    /**
     * 前一点挡位
     */
    private int preGear = -1;

    /**
     * 持续档位的档位值
     */
    private int holdGear;
    /**
     * 持续档位的持续次数
     */
    private int holdCount;
    /**
     * 滤波初始化值为0
     */
    private double filtered;
    /**
     * 总换挡次数
     */
    private int shiftGearNumber;

    /**
     * 挡位1的统计变量
     */
    private VarCommonNumber gear01 = new VarCommonNumber();
    /**
     * 挡位2的统计变量
     */
    private VarCommonNumber gear02 = new VarCommonNumber();
    /**
     * 挡位3的统计变量
     */
    private VarCommonNumber gear03 = new VarCommonNumber();
    /**
     * 挡位4的统计变量
     */
    private VarCommonNumber gear04 = new VarCommonNumber();
    /**
     * 挡位5的统计变量
     */
    private VarCommonNumber gear05 = new VarCommonNumber();
    /**
     * 挡位6的统计变量
     */
    private VarCommonNumber gear06 = new VarCommonNumber();
    /**
     * 挡位7的统计变量
     */
    private VarCommonNumber gear07 = new VarCommonNumber();
    /**
     * 挡位8的统计变量
     */
    private VarCommonNumber gear08 = new VarCommonNumber();
    /**
     * 挡位9的统计变量
     */
    private VarCommonNumber gear09 = new VarCommonNumber();
    /**
     * 挡位10的统计变量
     */
    private VarCommonNumber gear10 = new VarCommonNumber();
    /**
     * 挡位11的统计变量
     */
    private VarCommonNumber gear11 = new VarCommonNumber();
    /**
     * 挡位12的统计变量
     */
    private VarCommonNumber gear12 = new VarCommonNumber();
    /**
     * 挡位13的统计变量
     */
    private VarCommonNumber gear13 = new VarCommonNumber();
    /**
     * 挡位14的统计变量
     */
    private VarCommonNumber gear14 = new VarCommonNumber();
    /**
     * 挡位15的统计变量
     */
    private VarCommonNumber gear15 = new VarCommonNumber();
    /**
     * 挡位15使用占比 单位:百分比，范围:0~100
     **/
    private int gear15UseRatio;
    /**
     * 挡位16的统计变量
     */
    private VarCommonNumber gear16 = new VarCommonNumber();
    /**
     * 其它挡位(包含倒档，空挡)的统计变量
     */
    private VarCommonNumber gearOther = new VarCommonNumber();

}
